done with part one and first part of part two :D