moved relevant pieces to src folder to reduce clutter