updated with some nice stuff