some major changes made