Updated with paradox's suggestions