avoid hitting db on every select