more angular implementation