recordstore refactored