contract BFLToken is PausableToken, MintableToken, BurnableToken {

    using SafeMath for uint256;

    string public name = "Business For Life";
    string public symbol = "BFL";
    uint public decimals = 18;

    /// Maximum tokens to be allocated.
    uint256 public constant HARD_CAP = 50000000 * 10**uint256(decimals);
    /* Initial supply is  50,000,000 BFL */

    /**
    * @dev mint timelocked tokens
    */
    function mintTimelocked(address _to, uint256 _amount, uint256 _releaseTime)
        onlyOwner canMint returns (TokenTimelock) {

        TokenTimelock timelock = new TokenTimelock(this, _to, _releaseTime);
        mint(timelock, _amount);

        return timelock;
    }

}
/**
 * @title BFLToken
 * @dev BFLToken contract
 */
function mintTimelocked(address _to, uint256 _amount, uint256 _releaseTime)
    onlyOwner canMint returns (TokenTimelock) {

    TokenTimelock timelock = new TokenTimelock(this, _to, _releaseTime);
    mint(timelock, _amount);

    return timelock;
}

/**
 * @dev mint timelocked tokens
 */