added full preference support for skipping empty lines