partial level 2 implemented