full zoom implementation