More bug fixes and code cleanup