splited logic in multiple files