added some basic explaination