I'm glad to hear your session went well. If you still want advice I'll say that you shouldn't take character backgrounds for granted. If you can use their backgrounds to drive your game, you'll keep them engaged and you won't have as much work since they'll have made up most of it

I'll also post this for you for those times when you won't be as prepared:
This is my How-To guide for GMing - a sneak peak into my style.
How-To Improvise Your Sessions
1.) Make sure you give yourself a week between each session to prepare for your game. A week is a long time, and you'll have plenty of opportunity to make monsters and plots and maps for the game.
2.) Become so busy with school and other obligations that you don't even have time to think about what you maybe might do during the session until about thirty minutes before it starts. Use this time to create monsters and try to remember what happened last time so you can make some




up real fast. Remember, monsters are best made with pure intentions to kill all the players, not just one or two.
3.) Don't let the players know what you have prepared, you seem less awesome when they know you only have a small smidgen of a plot to play out. These things always expand while you play, so feel free to take more credit than what is due you.
4.) Remember that maps are just a series of boxes in other boxes, it doesn't matter where you put them, just make sure there is enough room for the players to fit, with some obstacles in the way.
5.) Steal from your players; this is probably the most important thing to remember. Whenever your player says, "They've probably got an alarm system in place," they have an alarm system in place whether you thought of it or not! Whenever your player says, "He's probably running to get back-up." Guess what? He's totally coming back with back-up even if he was just running away. Your players will never know you stole from them, they'll just think they were smart enough to predict something that happened.
6.) Don't worry about continuity; if your players catch you messing something up, work your way around it with thought gymnastics.
"The ogre knows your plans."
"The ogre doesn't know our plan to infiltrate their tribe and mess up their rituals, we whispered that part."
"Aha! He knows your plan to booby trap the bridge because you didn't whisper that part!"
Make sure that when you do this, you don't look surprised or the player will realize what you're doing.
7.) When the players look for something specific, let them find it or at least let it be around. Don't hesitate to add things to the world that your players have made up. If your rogue thinks there must be a hidden compartment full of treasure in this large featureless hallway - there is now! Let him look for it and if he's successful let him find it, just don't be afraid to set some booby traps in the way.
8.) Whenever a player hates an NPC for no apparent reason, give them a reason to.
"That guy makes me feel uncomfortable, he's kind of a jerk."
"Well, he is the leader of the Nazi party in this town."
"That explains it."
If it's your baby NPC, too bad make another one or don't make any at all. Besides if you truly are not prepared, you shouldn't have a baby NPC.
9.) Just go with it. Don't be afraid to say yes. I lied earlier, this is the most important rule. Say yes to most everything the players want to do. If they want to one-shot the dragon, you're allowed to say no. If they want to run on the wall and flip onto the dragon's back to stab it in the neck, hell yeah you should say yes. Let them pull that




off and they'll love you forever, besides the more you let the players make up, the less you have to make up. The coolest things you can do with a game are the things that are not in the rules; remember that.