add app engine support and make the storage-backend configurable