Main mechanic working now - time for polish and code prettifying!