address @laughedelic comments, rewrite a bit