reduce upload dependency for web