updated again. simplified