Moved OOP code (inherits) into its own file