Added type and component check

Still not used the classes though, and the logger is not yet implemented