* a lot of changes