opening implemented