Migrate to fit latest design pattern