TODO: learn to spell and type