Restructure, add optimist