Add some constructors. Enhance comments