added yaml parser for config and port parsers caching to an abstract class