Add functionality and finished syntax checking