Cleaned up constructors, changed member accesibility