better bindModel implementation