solutions #1-23