converted convinience methods into convenience properties
working on dynamic constraints