simple datasource framework written in swift