a simple workflow framwork