some progress on oopl