fixed #47 and #49 major refactoring

refactored encoders to handle all parsing and be independent
cleaned up parsing conditions, removed unnecessary operations
refactored acceptway to use a dynamic list of encoders