better angular (still buggy)