function placeBid() payable public returns (bool) {
        require(block.timestamp > _start, 'Auction not started');
        require(block.timestamp < _end, 'Auction ended');
        require(msg.value >= _highestBid.add(_minStep), 'Amount too low');

        uint _payout = _highestBid;
        _highestBid = msg.value;
        
        address _oldHighestBidder = _highestBidder;
        _highestBidder = msg.sender;
        
        if(_oldHighestBidder.send(_payout) == true) {
            emit etherTransfered(_payout, _oldHighestBidder);
        }
        
        emit bidPlaced(_highestBid, _highestBidder);
        
        return true;
    }