fix bugs and add something