[UPDATE] Polishing and add documentation