separated upload from compilation