Added category selection, implemented different workflow states in model