Framework with basic workflow