refactoring for slick 2 in progress