Few corrections - still not fully tested