adding some explaination