Similar questions on stackoverflow that resemble my situation are: First and Second.
The answers to the First question suggest initia