added theoretical explanation
updated readme