created new constructors and folder structure for types that makes them more decomposed