moved frame data structures to separate classes