todo remove invisible parts; support crossed figures, otherwise it works :)