more slick implementations