Refactoring + more efficient message sending, still working on images