some code refactor
multiple computer support