Refactor architechture
Add workflow package