added some requeires in order for the classes to be able to be imported individually