almost bound it all together with some angular