add fixes and best practices