Something that has really helped me is looking at what over people have done. For instance, your own modules and looking at how the AMXX modules are built. It's just a bit tricky to get the initial configuration, but I guess that's expected for a newbie.
At some point I may trash the current code base and start from scratch, because I've learned a heck of a lot already, and I know there are a ton of things done incorrectly, or badly.
__________________