Updated to use Angular