added initializers, the type checker will have a lot of fun :p