Architecting the problem space