initial work on modes