working program

should handle args better