making it work nicer and such