several changes! :P