Added constraints for DI