background pattern

also some cleanup