Just sit back and let the knowledge flow...
i know the code is off pls dont comment. :((((((( work in progress