Updated with levels - not complete