unhardcode IDs and code refactoring