fix inner ring parsing
remove abstract layer which is unnecessary. keep it simple, stupid!