Various bug fixes and performance improvements