Adding class building mechanism + data type checking + a few other utility functions