updated based on P1 feedback