refactor all into one algo project, add counting sort