Cleaned stuff; todo: input