Cleaned up constructors