refactored llsf