Added input and proper semantic outputting