Cleaned up constructors and general improvements