The first part of what I have so far, rest is coming :D