Made tons of changes

added features