Converting everything over to klass so things are easily extendable etc