try to refactor tirpan modules