split into functional and integration and rearrange directory structure