lesser code optimization, remove init option since my lazyness