everything but db storage implemented