bug fixes and clean-up