trying out melpa-based implementation
mvoing stuff to a more proper position