Attempt at improving initial load times + use cloneNode instead of repeated createElement calls where possible