updated almost everything