lots of code

added/updated many things