General programming solutions