major functionality improvements