Usecase based restructure