Add comments and create Yard documentation

Please check before approve.