core splitted to modules