adding a little design, tests and caching