updated classes and cleanup