Adding initializers and documentation