Mostly doc-comments and some visibility
Added type hint