use Spring Data, resolves #5