added accessor factory api