First attempt at framework