polished, partially tested. some data loaded