cleaned up classes and added more customization features