quick and dirty backend implementation