Added two new files, and changed the transcieve logic in top to a module isntance