some changes to follow best practices