added support for parallel surfaces