overriding init method