Working version on Slick 2.0, still neds some work