move datasource from constructor to setter