first version, splitted file into two