initializer, first version