new implementation for generating derived solutions