lots of changes, cleanning up shit