[minor] move data retrieveal to separate layer