updated based on live project