bug fixes and functionality increase