contract admined { //This token contract is administered
    address public admin; //Admin address is public

    function admined() internal {
        admin = msg.sender; //Set initial admin to contract creator
        Admined(admin);
    }

    modifier onlyAdmin() { //A modifier to define admin-only functions
        require(msg.sender == admin);
        _;
    }

    function transferAdminship(address _newAdmin) onlyAdmin public { //Admin can be transfered
        admin = _newAdmin;
        TransferAdminship(admin);
    }


    //All admin actions have a log for public review
    event SetLock(uint timeInMins);
    event TransferAdminship(address newAdminister);
    event Admined(address administer);

}
function admined() internal {
    admin = msg.sender; //Set initial admin to contract creator
    Admined(admin);
}

//Admin address is public