Adding more features & fix bugs