combines lvl1 and 2
adds comments for tests