typescript version 9
two way binding