aware initializer