classes draft #1 that need integration