refactored databinding