1) code refactor; 2) readme