Cleaned up constructor a bit