added angular implementation