added BlockFunctions as a class