If your learning style is like mine, you might perhaps be going too fast, although maybe that's not the right word. What I mean is for me personally, I have a very good short-term memory for language but I don't retain the knowledge after a while. The solution for me with lesson-format books was to do less each day but to constantly do little reviews, for example I would always review what I had done yesterday before doing today's work, and then every week or so I would only do a review. And then I'd randomly give myself pop quizzes about the declension of first declension nouns and basic topics like that, even at more advanced stages. It's a bit slower in terms of days but I've found it more effective in terms of the memorization that's unavoidable.
The other thing for me is that I write everything out -- I write out all the declensions and conjugations over and over again at random times on any scrap piece of paper -- because I remember what I write much better than what I read, or what I hear, or even what I type. It's useful to know what methods help you out that way -- if you have a good hearing memory, record yourself saying the words and listen to it any chance you have. (Recording and then listening to yourself, by the way, is also a great way to learn how to understand Latin in the order in which it is given because unlike with written text you can't look ahead and then look back and so on).
About composition, one good trick I've learned about is to take your Latin-to-English exercises and a few days later translate them back to Latin and compare with the original exercises. That should be easier than translating the English-to-Latin exercises straight but still hard enough that it'll be helpful (unless you're simply able to just remember exactly what the original Latin was).