more refactoring and cleanup, preparing for proper info extraction using jlems